1. Field of the Invention
The present invention relates to the field of computer animation and, in particular, to efficient feedback-based illumination and scatter culling.
2. Description of the Related Art
Production of animated films often include complex geometric detail which give rise to very long render times for each rendered image frame. During a typical render, a small portion of a three-dimensional (3D) scene file description is visible in the final rendered image, as defined by the position and direction of a virtual camera that is directed at the 3D scene file. The scene file includes the set of graphics objects and light sources included in a 3D space.
Because only a small portion of a 3D scene file is visible in any given shot, a significant amount of render time may be spent on computing illumination of graphics objects by light sources that have minimal or no effect on the final rendered image. For example, a given shot of an animated film could use only a subset of the lights set up by sequence lighting, also referred to herein as master lighting, where master lighting defines all of the light sources used in a particular 3D scene file. Depending on the position and direction of the virtual camera, many lights defined during master lighting could be removed from a particular shot, where those light sources have little or no contribution to the visible surfaces in that shot. In one approach, such light sources may be manually removed from the scene file, and the scene file may be re-rendered to see if the removed light source had a negative impact on the final rendered image. However, removing light sources manually involves human interaction, which is tedious and not cost effective.
Likewise, a significant amount of render time may be spent in generating point cloud files associated with subsurface scatter effects that are not used by the final render. Subsurface scatter occurs where an object that is not directly visible in an image frame, nevertheless contributes to the rendered image. For example, one object may be covered by another object which is transparent or translucent. Objects not seen in an image frame may be removed via techniques involving hidden surface removal. Such techniques are typically insufficient, in that hidden surface removal does not account for subsurface scatter effects, where objects that are not visible in the rendered image frame, nevertheless contribute to one or more pixels in the rendered image frame. Removing hidden surfaces without accounting for subsurface scatter effects results in visual errors in the rendered image frame. As a result, render time is spent generating point cloud images for objects that have little or no visible impact on the final scene.